package cn.cao.domain.order.adapter.repository;

import cn.cao.domain.order.model.aggregate.CreateOrderAggregate;
import cn.cao.domain.order.model.entity.OrderEntity;
import cn.cao.domain.order.model.entity.PayOrderEntity;
import cn.cao.domain.order.model.entity.ShopCartEntity;

import java.util.List;

/**
 * @Author caoyi
 * @description:
 * @Date 2025/7/11 17:56
 */
public interface IOrderRepository {
    OrderEntity queryUnPayOrder(ShopCartEntity shopCartEntity);

    void doSaveOrder(CreateOrderAggregate orderAggregate);

    void updateOrderPayInfo(PayOrderEntity payOrderEntity);

    void changeOrderPaySuccess(String orderId);

    List<String> queryNoPayNotifyOrder();

    List<String> queryTimeoutCloseOrderList();

    boolean changeOrderClose();
}
